wip: support tool retry on timeout via idempotencyKey param in CallToolRequestParams#2338
Conversation
bdc7f27 to
f927d9a
Compare
f927d9a to
51b26e2
Compare
|
Thanks for the PR. This adds Idempotency keys were deferred to a future SEP during SEP-1686 and assigned to the Transports WG (Nov 18 meeting notes). That SEP hasn't been filed yet. If you'd like to push this forward, the right place to start is a SEP in the spec repo. Happy to revisit here once there's a schema change to implement. If there's a SEP or discussion I've missed that covers this, feel free to link it and reopen. |
|
Hey @maxisbey, this was produced off the back of discussions r.e. idempotency in the
Thanks for sharing this - I was unaware; will share with the group! 😄 |
Motivation and Context
Issue:
idempotencyHinttotrueSolution:
idempotencyKeyattribute to theCallToolRequestParamsDTO that is populated when calling a toolmax_timeout_retriesto a value greater than 0, which triggers tool retry on timeout with the same idempotency keyHow Has This Been Tested?
Unit tests and demo code (temporarily committed)
Breaking Changes
Not breaking, by default, retry is not enabled (hence not breaking existing behaviour)
Types of changes
Checklist
WIP
Additional context
This is a rough implementation of what an
idempotencyKeyattribute could look like in the spec. This is not a PR ready to be merged, but just to demo what it could look like, to "add some color to the picture". This is part of an ongoing discussion in the#financial-services-wgto support idempotent tools.